html,
body {
  font-family: Helvetica, Tahoma, Verdana, Arial, sans-serif;
  font-size: 14px;
  line-height: 1.6;
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
  padding: 0;
  margin: 0;
  height: 100%;
}

body {
  display: flex;
}

.playground {
  flex: 1;
  overflow: hidden;
  display: grid;
  height: 100%;
  grid-template:
    "header header"
    "sidebar content" 1fr;
  grid-template-columns: 280px auto;
}

.playground__header {
  grid-area: header;
  display: flex;
  align-items: center;
  border-bottom: 1px solid #e0e0e0;
}
.playground__header h1 {
  margin: 4px 10px;
  font-size: 25px;
  font-weight: 100;
}

.playground__sidebar {
  grid-area: sidebar;
  overflow: auto;
  border-right: 1px solid #e0e0e0;
}
.playground__sidebar ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.playground__sidebar a {
  display: block;
  padding: 4px 12px;
  color: #09d;
}
.playground__sidebar a:hover {
  background-color: #f4f4f4;
}
.playground__sidebar a.selected {
  background-color: #dde8f4;
}

.playground__content {
  grid-area: content;
  overflow: auto;
}

.case-wrapper {
  display: grid;
  gap: 10px 5px;
  grid-template:
    "header"
    "content";
  grid-template-columns: 1fr;
  margin: 0 0 20px;
}

.case-wrapper h2 {
  grid-area: header;
  margin: 0;
  padding: 4px 10px;
  font-size: 18px;
  font-weight: normal;
  color: #06a;
}
.case-wrapper h2 span {
  border-bottom: 2px solid #06a;
}

.case-wrapper .content {
  grid-area: content;
  padding-left: 10px;
}

.case-wrapper ~ .case-wrapper .react-overlay {
  display: none;
}
.react-overlay {
  position: fixed;
  top: 0px;
  left: 0px;
  right: 0px;
  bottom: 0px;
  background-color: #333;
  background-image: url("");
  background-repeat: no-repeat;
}
